// packageA/pages/attendancePersonMonth/attendancePersonMonth.js
const app = getApp();
import CommonService from '../../../utils/service/commonService.js';
const util = require('../../../utils/util');

Page({

  /**
   * 页面的初始数据
   */
  data: {
    //传参
    paramObj:null,
    //月份
    showMonth:false,
    currentDate: new Date().getTime(),
    maxDate: new Date().getTime(),
    currentDateStr: util.timeFormatMonth(new Date()),
    //折叠面板当前值
    activeName: null,
    //迟到
    late:null,
    //早退
    leaveEarly:null,
    //缺卡
    missing:null,
    //无数据
    showNothing:false
  },

  /**
   * 生命周期函数--监听页面加载
   */
  onLoad(options) {
    if(options.paramObj){
      let paramObj=JSON.parse(options.paramObj);
      console.log('人员月统计传参');
      console.log(paramObj);

      this.setData({
        paramObj: paramObj
      })

      //获取个人月统计数据
      this.getMonth();
    }
  },

  //获取个人月统计数据
  getMonth(){
    let start=util.timeFormatMonth2(this.data.currentDate)+'-01';

    //计算下个月
    let time = new Date(this.data.currentDate);
    let year = time.getFullYear();
    let month = time.getMonth() + 2;
    if(month > 12) {
      month = month - 12;
      year = year + 1;
    }
    if(month < 10) {
      month = '0' + month;
    }
    let end = year + '-' + month + '-01';

    let param={
      imei: this.data.paramObj.imei,
      startTime: start,
      endTime: end
    }

    CommonService.findAbnormalClockIn(param).then(res=>{
      if(res.data.data && res.data.data.result && JSON.stringify(res.data.data.result)!='{}'){
        let result=res.data.data.result;

        for(let key in result){
          let arr=result[key].abnormal;
          if(arr && arr.length){
            arr.forEach(item => {
              if(item.clockRecord.punchInTime){
                //打卡存的是本地时间，但搞成了UTC格式，所以无需工具转化，直接截取即可
                item.clockRecord.self_punchInTime=(item.clockRecord.punchInTime.substring(0,19)).replaceAll('T',' ');
              }
              //缺卡时显示dt字段
              item.self_dt=item.dt.substring(0,10);
            });
          }
        }

        console.log('个人月统计');
        console.log(result);

        this.setData({
          info: result
        })
      }else{
        this.setData({
          showNothing: true
        })
      }
    }).catch((error) => {
      this.setData({
        showNothing: true
      })
    })
  },

  //显示月份
  onShowMonth(){
    this.setData({
			showMonth: true
    })
  },

  //隐藏月份
  onCloseMonth(){
    this.setData({
			showMonth: false
    })
  },

  //确认月份
  onConfirmMonth(e){
    this.setData({
      currentDate: e.detail,
      currentDateStr: util.timeFormatMonth(e.detail)
    })

    this.onCloseMonth();

    //获取个人月统计数据
    this.refreshListAndPage();
  },

  //切换
  onChange(event) {
    this.setData({
      activeName: event.detail,
    })
  },

   //刷新列表
   refreshListAndPage(){
    this.setData({
      info: null,
      showNothing: false
    })
    this.getMonth();
  },

  /**
   * 生命周期函数--监听页面初次渲染完成
   */
  onReady() {

  },

  /**
   * 生命周期函数--监听页面显示
   */
  onShow() {

  },

  /**
   * 生命周期函数--监听页面隐藏
   */
  onHide() {

  },

  /**
   * 生命周期函数--监听页面卸载
   */
  onUnload() {

  },

  /**
   * 页面相关事件处理函数--监听用户下拉动作
   */
  onPullDownRefresh() {

  },

  /**
   * 页面上拉触底事件的处理函数
   */
  onReachBottom() {

  },

  /**
   * 用户点击右上角分享
   */
  onShareAppMessage() {

  }
})
